<?php
/**
 * 订单模型
*/

namespace app\common\model;

use think\model\concern\SoftDelete;

class Order extends CommonBaseModel
{
    use SoftDelete;
    // 自定义选择数据
    // 分类列表
const TYPE_LIST= [
0=>'配送单',
1=>'自提单',
2=>'预约单',
];


    protected $name = 'order';
    protected $autoWriteTimestamp = true;

    // 可搜索字段
    public array $searchField = [];

    // 可作为条件的字段
    public array $whereField = [];

    // 可作为多选条件的字段
    public array $multiWhereField = ['user_id','shop_id','type',];

    // 可做为时间
    public array $timeField = [];

    
    /**
    * 分类获取器
    */
    public function getTypeNameAttr($value ,$data)
    {
        return self::TYPE_LIST[$data['type']];
    }
/**
     * 状态获取器
    */
    public function getStatusTextAttr($value, $data): string
    {
        return self::BOOLEAN_TEXT[$data['status']];
    }


    /**
    * 关联
    */
    public function orderGoods()
    {
        return $this->hasMany(OrderGoods::class);
    }/**
    * 关联
    */
    public function userTrade()
    {
        return $this->hasMany(UserTrade::class);
    }/**
    * 关联用户
    */
    public function user()
    {
        return $this->belongsTo(User::class);
    }/**
    * 关联
    */
    public function shop()
    {
        return $this->belongsTo(Shop::class);
    }

}
